package Year22_Month04.day26;

import java.util.HashSet;
import java.util.Set;

public class 快乐数 {
    public boolean isHappy(int n) {
        Set<Integer> set = new HashSet<>();
        while(n != 1){
            int res = fun(n);//res记录平方相加的和
            if(set.contains(res)){
                return false;//如果说这个和在set这个集合当中已经是存在的，那就是陷入了一个死循环
            }
            //如果不存在，那就加入就好
            set.add(res);
            n = res;
        }
        return true;
    }
    //设置函数来获得当前数字每一个位数的平方相加的和
    public int fun(int n){
        int res = 0;
        while(n > 0){
            int tmp = n % 10;
            n /= 10;
            res += tmp * tmp;
        }
        return res;
    }
}
